home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 016a / dmake38.zip / RELEASE < prev    next >
Text File  |  1992-01-25  |  5KB  |  112 lines

  1. dmake Version 3.8
  2. =================
  3.  
  4. FULL RELEASE OF DMAKE, REPLACES VERSION 3.8
  5.  
  6. Nature:  This release is an attempt at addressing all of the little obscure
  7. -------  bugs and "features" that still remained in dmake and often caused
  8.      spurious or incorrect behaviour.  As such there is no major new
  9.      functionality but several small enhancements to make life a little
  10.      more interesting.
  11.  
  12.      This distribution advances dmake to Version 3.8, patch level 0.
  13.  
  14.  
  15. Availability:
  16. -------------
  17.       dmake is available via anonymous ftp from watmsg.uwaterloo.ca
  18.       (129.97.141.9) as:
  19.  
  20.           pub/dmake/dmake38.tar.Z        - compressed tar archive
  21.           pub/dmake/dmake38.zoo        - zoo archive
  22.           pub/dmake/dmake38-msdos-exe.zoo    - MSDOS executable zoo archive
  23.           pub/dmake/dmake38-msdos-exe.zip    - MSDOS executable zip archive
  24.           pub/dmake/dmake38.shar01        - xx part shar archive
  25.           ...                  (get all parts)
  26.           pub/dmake/dmake38.sharxx
  27.  
  28.       and comes in several archive formats.  Choose the one that best
  29.       suits your needs.
  30.  
  31. Acknowledgements:
  32. -----------------
  33.       Thanks to all who submitted code for new features, suggestions for
  34.       improvements, and bug fixes.  I have tried to make sure no gotchas
  35.       remain, if you encounter problems installing or running dmake please
  36.       let me know.  As always, I am always happy to receive e-mail.
  37.  
  38.  
  39. DETAILS OF ENHANCEMENTS/TWEAKS:
  40. ===============================
  41. - Added the following functionality:
  42.  
  43.     #! command
  44.  
  45.   is scanned for and recognized if it is the first line of your makefile.
  46.   The command string is expanded and executed.
  47.   The command is restricted in that it cannot be a command requiring a shell
  48.   for it's execution.  The values of the command line macros have been set
  49.   and are available for execution purposes.  This is not as general as one
  50.   would like but it is not bad for bootstrapping different non dmake
  51.   makefiles.  If the command result code is zero, then dmake continues parsing
  52.   its input and processes the makefile.  If the result is non-zero dmake
  53.   exits.
  54.   (suggested by Paul Sander, paul@hal.com)
  55.  
  56. - Allowed the inclusion of white space inside quoted prerequisites.
  57.   i.e. you can now say:
  58.  
  59.       foo : "some stuff"
  60.  
  61.   and have "some stuff" treated as a single prerequisite.  The mod is
  62.   necessary to allow for prerequisites that contain $(shell ... ) expansion
  63.   scripts and other simillar function macros.
  64.  
  65. - Changed the following piece of code to be more in line with dmake
  66.   philosophy.  That is, $(macname:str=sub) now expands 'sub' prior to
  67.   performing the substitution, however if '-A' or '.AUGMAKE := yes' are
  68.   specified then the expansion is suppressed.
  69.  
  70. - Added _POSIX_NAME_MAX to the source, on any stat if the basename of a file
  71.   is larger than the value of _POSIX_NAME_MAX then it returns 0.  You must
  72.   define _POSIX_NAME_MAX in a lower level config if you want it to override
  73.   the default in {unix,msdos,mac,os2,atari}/config.h.
  74.  
  75. - Disallowed export of macros whose names contain the characters "+=:*"
  76.   as these are valid macro assignment operators and we don't want to cause
  77.   trouble when we go to reparse the environment again.  Perhaps the fix
  78.   could be a little bit less drastic, but for now it seems reasonable.
  79.  
  80. - Tweaked the output of -v to more accurately show which of a set of ::
  81.   targets is getting made.  The info was there so I might as well use it.
  82.  
  83. - Added a seperate directory substructure for XENIX since I was having trouble
  84.   linking properly in the generic SYSVR3 environment.  Looks as if you pretty
  85.   much need 'make xenixpwd' since XENIX uses popen to call getcwd.
  86.   If you use 'make xenix' and your implementation of xenix uses popen this
  87.   causes dmake to get confused about child processes and occationally
  88.   complain that it lost one.
  89.  
  90. - Cleaned up OS/2 building scripts, and made sure that OS2 define is checked
  91.   where needed.
  92.  
  93.  
  94. DETAILS OF BUG FIXES:
  95. =====================
  96. - Fixed the handling of :: targets if they appear first in the makefile.
  97.   This was incorrectly handled by the internal DAG construction code, ugly!.
  98.  
  99. - Fixed an output statement in dump.c so that macro values containing %
  100.   signs are correctly printed (guess where that broke, blush).
  101.  
  102. - Fixed a bug in dealing with .SETDIR=a targets and multiprocessing.  Too
  103.   obscure to describe but annoying if you stumble onto it.
  104.  
  105. - Fixed DIRSEPSTR macro to be user modifiable (as the manpage claims :-)
  106.   so that people can change it in startup.mk depending on shell/OS
  107.   (mostly effects DOS and/or OS/2 implementations).
  108.  
  109. - Fixed a bug dealing with complex .IF/.ELIF/.ELSE/.END expressions.
  110.   It now correctly selects only a single matching instance in a complex
  111.   .IF/.ELIF/.ELSE/.END expr.
  112.